// 用户分页查询请求参数
export interface Oauth2BasicUserReq {
  userName: string
  pageReq: {
    current: number
    size: number
  }
}

// 保存用户请求参数
export interface Oauth2BasicUserInOrUpReq {
  /** id，Long 类型，使用字符串表示 */
  id?: number
  /** 用户名、昵称 */
  name: string
  /** 账号 */
  account: string
  /** 密码 */
  password: string
  /** 手机号 */
  mobile: string
  /** 邮箱 */
  email: string
}

export interface Oauth2BasicUserVO {
  /** id，Long 类型，使用字符串表示 */
  id: number
  /** 用户名、昵称 */
  name: string
  /** 账号 */
  account: string
  /** 密码 */
  password: string
  /** 手机号 */
  mobile: string
  /** 邮箱 */
  email: string
  /** 头像地址 */
  avatarUrl: string
  /** 是否已删除 */
  deleted: number
  /** 用户来源 */
  sourceFrom: string
  /** 创建人 id（Long 类型，可根据需求转换为字符串） */
  creatorId: number
  /** 创建人名称 */
  creatorName: string
  /** 创建时间（格式：yyyy-MM-dd） */
  createTime: string
  /** 修改人 id（Long 类型，可根据需求转换为字符串） */
  modifierId: number
  /** 修改人名称 */
  modifierName: string
  /** 修改时间（格式：yyyy-MM-dd） */
  modifyTime: string
  /** 版本号 */
  recordVersion: number
  /** 扩展字段2 */
  attribute2: string
  /** 扩展字段3 */
  attribute3: string
  /** 扩展字段4 */
  attribute4: string
  /** 扩展字段5 */
  attribute5: string
  /** 扩展字段1 */
  attribute1: string
}

// 获取指定用户角色清单以及所有角色清单请求参数
export interface Oauth2BasicUserRoleReq {
  /** 用户 id */
  id: number
}

// 获取指定用户角色清单以及所有角色清单
export interface SysRoleVO {
  id: number
  roleName: string
  deleted: boolean
  sort: number
  creatorId: number
  creatorName: string
  createTime: string // ISO 8601 格式的日期字符串
  modifierId: number
  modifierName: string
  modifyTime: string // ISO 8601 格式的日期字符串
  recordVersion: number
  attribute1?: string
  attribute2?: string
  attribute3?: string
  attribute4?: string
  attribute5?: string
}
// 获取指定用户角色清单以及所有角色清单
export interface Oauth2BasicUserRoleVO {
  id: number
  assignRoles: SysRoleVO[]
  allRolesList: SysRoleVO[]
}

// 所有角色列表
export type allRolesType = SysRoleVO[]

// 更新用户角色信息参数
export interface UpdateUserRolesReq {
  id: number
  roleIds: number[]
}

// 更新用户角色信息参数
export interface DeleeUserReq {
  ids: number[]
}
